他のプログラミング言語を経験してからRをいじりだした人に多いと思うのですが、便利関数で簡潔に実現できる処理を、ループ処理で複雑に書いて、苦労した上に見通しとパフォーマンスが悪いコードを生成することがあります。
1 正規表現
Rでも正規表現によるテキスト処理ができます。
[1] 1 2
[1] "This is an apple."
[1] "This is a pen."
[1] "This was a pen." "This was an apple."
[[1]]
[1] "This" "is" "a" "pen."
[[2]]
[1] "This" "is" "an" "apple."
置換時の括弧の中の文字列は\\1
といったエスケープ文字と数字の組み合わせで表現されることに注意しましょう。
なお、括弧自体をマッチングしたい場合は、
[1] "括弧始...)"
と言うように括弧の前にエスケープ文字をつけます。
2
組み合わせの数の計算ができるchoose
関数があります。コンビネーションではないので注意しましょう。
[1] 10
[1] 10
3 対話モードで動いているか調べる
interactive()
でTRUE
が戻って来た場合は対話モードで動いています。バッチ処理と対話モードで挙動を変えたいときに使えます。
4 sweep
行列の要素を行や列ごとに足したり引いたりする関数です。apply
で間に合うので使う機会は乏しいのですが、たまに使われているのを見かけます。